package com.detection.hikvision.utils;

/**
 * 海康开放平台API
 * @author LH
 * @date 2022/9/13 9:21
 */
public enum ArtemisApi {
    /**
     * 获取跟区域信息
     */
    GET_ROOT_REGIONS("/api/resource/v1/regions/root"),

    /**
     * 查询区域列表
     */
    GET_REGIONS_NODES("/api/irds/v2/region/nodesByParams"),

    /**
     * 根据区域获取下级资源列表.查出数据是门禁的设备资源
     */
    GET_DOOR_RESOURCE("/api/irds/v1/resource/subResources"),

    /**
     * 查询监控点列表
     */
    GET_CAMERA_LIST("/api/resource/v2/camera/search"),
    /**
     * 获取监控点在线状态,status=0离线，status=1在线
     */
    GET_CAMERA_ONLINE_LIST("/api/nms/v1/online/camera/get"),

    /**
     * 获取视频监控点预览取流URL
     */
    GET_CAMERA_PREVIEW_URLS("/api/video/v2/cameras/previewURLs"),
    /**
     * 获取视频监控点回放取流URL
     */
    GET_CAMERA_PLAY_BACK_URLS("/api/video/v2/cameras/playbackURLs"),
//    GET_CAMERA_PLAY_BACK_URLS("/api/video/v1/cameras/playbackURLs"),

    /**
     * 获取资源的历史在线记录
     */
    GET_DEVICE_HISTORY_STATUS("/api/nms/v1/online/history_status"),

    /**
     * 根据条件获取节点信息
     */
    GET_REGION_LIST("/api/irds/v1/region/nodesByParams"),

    /**
     * 获取登录凭证
     */
    GET_HAIKANG_TOKEN("/api/cas/v1/tgt/login"),

    /**
     * 该接口用于满足应用方按事件类型码订阅事件，同一个用户重复订阅相同的事件，接口内部逻辑自动去重，确保不重复投递事件。
     */
    EVENT_SUBSCRIPTION_BY_EVENTTYPES("/api/eventService/v1/eventSubscriptionByEventTypes"),
    /**
     * 根据条件获取门禁设备在线状态接口
     */
    GET_ACS_DEVICE_ONLINE_LIST("/api/nms/v1/online/acs_device/get"),
    /**
     * 查询门禁点状态
     */
    GET_ACS_DEVICE_DOOR_STATES("/api/acs/v1/door/states"),
    /**
     * 查询门禁点列表v2
     */
    GET_RESOURCE_DOOR_LIST("/api/resource/v2/door/search"),
    /**
     * 获取单个门禁设备信息是指根据指定的门禁设备唯一标识来获取门禁设备信息。
     */
    GET_ACS_DEVICE_INFO("/api/resource/v1/acsDevice/indexCode/acsDeviceInfo"),
    /**
     * 该接口支持门常开、门常闭、门开和门闭四种操作。门常开操作，门会一直处于开状态，不会自动关闭，执行门闭操作，门才会关上；门常闭操作，门会一直处于关毕状态，普通卡刷卡门不会被打开，执行门开操作，门会打开；门开操作，执行门打开动作，超过门打开时间，门会自动关上；门闭操作，执行关门动作，会立即把门关上。
     * 调用该接口，首先要通过获取门禁点资源列表的接口，获取到门禁点唯一编号，然后根据门禁点唯一编号进行反控操作，该接口支持单个和多个门禁点操作，如果所有门禁点反控操作成功，则返回成功，其他情况都返回失败，在失败的情况下，会按每个门禁点返回对应的错误。
     */
    GET_ACS_DEVICE_DOCONTROL("/api/acs/v1/door/doControl"),
    /**
     * 该接口支持门常开、门常闭、门开和门闭四种操作。门常开操作，门会一直处于开状态，不会自动关闭，执行门闭操作，门才会关上；门常闭操作，门会一直处于关毕状态，普通卡刷卡门不会被打开，执行门开操作，门会打开；门开操作，执行门打开动作，超过门打开时间，门会自动关上；门闭操作，执行关门动作，会立即把门关上。
     * 调用该接口，首先要通过获取门禁点资源列表的接口，获取到门禁点唯一编号，然后根据门禁点唯一编号进行反控操作，该接口支持单个和多个门禁点操作，如果所有门禁点反控操作成功，则返回成功，其他情况都返回失败，在失败的情况下，会按每个门禁点返回对应的错误。
     */
    GET_ACS_Door_BY_DEVICE("/api/resource/v1/acsDoor/advance/acsDoorList"),
    /**
     * 获取人员列表
     */
    GET_PERSONLIST("/api/resource/v2/person/advance/personList"),
    /**
     * 查询人员列表
     */
    GET_PERSONLIST_INFO("/api/resource/v1/person/advance/personList"),
    /**
     * 修改人员
     */
    UPDATE_PERSON("/api/resource/v1/person/single/update"),
    /**
     * 添加人员
     */
    ADD_PERSON("/api/resource/v1/person/single/add"),
    /**
     * 访客人员预约
     */
    DO_VISITOR_APPOINTMENT("/api/visitor/v2/appointment"),
    /**
     * 查询门禁点事件V2
     */
    GET_DOOR_EVENTS("/api/acs/v2/door/events"),
    /**
     * 获取门禁图片地址
     */
    GET_ACS_EVENT_PIC_URL("/api/acs/v1/event/pictures"),
    /**
     * 查询访客来访记录v2
     */
    GET_VISITING_RECORDS("/api/visitor/v2/visiting/records"),
    /**
     * 根据证件号码获取单个人员信息
     */
    GET_PERSONID_BY_IDCARD("/api/resource/v1/person/certificateNo/personInfo"),

    /**
     * 人脸应用-以图搜图
     * a)通过人脸图片和检索条件，检索超脑、脸谱抓拍库或智能应用服务器中符合条件的记录。
     * b)以图搜图的前提是智能应用服务配置有或者曾经配置过识别计划。
     * c)如果要通过cameraIndexCode搜索，请保证搜索的通道有配置或配置过超脑、脸谱或智能应用服务器的识别计划。
     * d)检索出来的结果是分页的集合，为识别计划所关联的每个设备上的符合条件的前100条数据的集合
     */
    CAPTURE_SEARCH("/api/frs/v1/application/captureSearch"),
    /**
     * 修改海康的人脸
     */
    UPDATE_PEOPLE_FACE("/api/resource/v1/face/single/update"),

    /**
     * 添加权限配置
     */
    AUTH_CONFIG_ADD("/api/acps/v1/auth_config/add"),

    /**
     * 根据出入权限配置快捷下载
     */
    CONFIGURATION_SHORTCUT("/api/acps/v1/authDownload/configuration/shortcut"),

    /**
     * 简单同步权限下载_根据人员与设备通道指定下载
     */
    SIMPLEDOWNLOAD("/api/acps/v1/authDownload/task/simpleDownload"),

    /**
     * 分页获取区域列表
     */
    REGINOS("/api/resource/v1/regions"),

    /**
     * 访客预约取消
     */
    VISITOR_CANCEL("/api/visitor/v1/appointment/cancel"),

    /**
     * 批量删除人员
     */
    DELETE_PERSON("/api/resource/v1/person/batch/delete"),

    /**
     * 获取卡口事件图片
     */
    GET_CAR_PIC("/api/mpc/v1/events/image"),

    /**
     * 分页查询动环传感器
     */
    GET_MONITOR_SEARCH("/api/pems/v1/monitor/search");

    private String path;

    ArtemisApi(String path) {
        this.path = path;
    }

    public String getPath() {
        return path;
    }
}
